/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package escr.clases;

/**
 *
 * @author Aditardo
 */
/*
 * DatosModElim.java
 *
 * Created on 13 de julio de 2007, 8:52
 *
 * To change this template, choose Tools | Template Manager
 * and open the template in the editor.
 */


import escr.persistencia.AreaIndic;
import escr.persistencia.DatospoblaPregunta;
import escr.persistencia.Diagnostico;
import escr.persistencia.Documento;
import escr.persistencia.Empleado;
import escr.persistencia.Especialidad;
import escr.persistencia.Financiador;
import escr.persistencia.Horario;
import escr.persistencia.Horariotarde;
import escr.persistencia.Paciente;
import escr.persistencia.Partida;
import escr.persistencia.Presupuesto;
import escr.persistencia.ProEspe;
import escr.persistencia.Profesional;
import escr.persistencia.Seleccion;
import escr.persistencia.TiploEmpleado;
import escr.persistencia.TipoFinanciador;
import escr.persistencia.TipoPartida;
import escr.persistencia.TipoPoblacion;
import escr.persistencia.TipoPrograma;
import escr.persistencia.TipoUsuario;
import escr.persistencia.Usuario;
import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence;

public class DatosModElim {

    private static EntityManagerFactory emf = Persistence.createEntityManagerFactory("WebAdtafa_EcPU");
    
    /** Creates a new instance of DatosModElim */
    public DatosModElim() {
    }

    public TipoUsuario capturarTipoUsuario(String nombre) {
        EntityManager em = emf.createEntityManager();
        em.getTransaction().begin();        
        Object u=null;
        try {            
             u = em.createQuery("SELECT e FROM TipoUsuario e where e.tpuNombre =:nombre").setParameter("nombre",nombre).getSingleResult();    
          if (u==null) {
                 return null;
          }   
             return (TipoUsuario) u;
        } catch (Exception e) {
            e.printStackTrace();
            em.getTransaction().rollback();
        } finally {
            em.close();
        }
        return null;
    }
    
    public Usuario capturarUsuarioAUD(String nombre) {
        EntityManager em = emf.createEntityManager();
        em.getTransaction().begin();        
        Object u=null;
        try {            
             u = em.createQuery("SELECT e FROM Usuario e where e.usrLogin =:nombre").setParameter("nombre",nombre).getSingleResult();    
          if (u==null) {
                 return null;
          }   
             return (Usuario) u;
        } catch (Exception e) {
            e.printStackTrace();
            em.getTransaction().rollback();
        } finally {
            em.close();
        }
        return null;
    }
    
    
    public Paciente capturarPacienteTurno(Integer nombre) {
        EntityManager em = emf.createEntityManager();
        em.getTransaction().begin();        
        Object u=null;
        try {            
             u = em.createQuery("SELECT e FROM Paciente e where e.pacCodigo =:nombre").setParameter("nombre",nombre).getSingleResult();    
          if (u==null) {
                 return null;
          }   
             return (Paciente) u;
        } catch (Exception e) {
            e.printStackTrace();
            em.getTransaction().rollback();
        } finally {
            em.close();
        }
        return null;
    }
    
    
     public Profesional capturarProfesionalTurno(Integer nombre) {
        EntityManager em = emf.createEntityManager();
        em.getTransaction().begin();        
        Object u=null;
        try {            
             u = em.createQuery("SELECT e FROM Profesional e where e.proCodigo =:nombre").setParameter("nombre",nombre).getSingleResult();    
          if (u==null) {
                 return null;
          }   
             return (Profesional) u;
        } catch (Exception e) {
            e.printStackTrace();
            em.getTransaction().rollback();
        } finally {
            em.close();
        }
        return null;
    }
    
     
     public Profesional capturarProfesionalCC(ProEspe nombre) {
        EntityManager em = emf.createEntityManager();
        em.getTransaction().begin();        
        Object u=null;
        try {            
             u = em.createQuery("SELECT e.horId FROM Profesional e ProEspe f where e.proCodigo =:nombre").setParameter("nombre",nombre).getSingleResult();    
          if (u==null) {
                 return null;
          }   
             return (Profesional) u;
        } catch (Exception e) {
            e.printStackTrace();
            em.getTransaction().rollback();
        } finally {
            em.close();
        }
        return null;
    }
     
     public Empleado capturarEmpleadoUsuario(Integer nombre) {
        EntityManager em = emf.createEntityManager();
        em.getTransaction().begin();        
        Object u=null;
        try {            
             u = em.createQuery("SELECT e FROM Empleado e where e.empCodigo =:nombre").setParameter("nombre",nombre).getSingleResult();    
          if (u==null) {
                 return null;
          }   
             return (Empleado) u;
        } catch (Exception e) {
            e.printStackTrace();
            em.getTransaction().rollback();
        } finally {
            em.close();
        }
        return null;
    }
    
    
    public Seleccion capturarSeleccionar() {
        EntityManager em = emf.createEntityManager();
        em.getTransaction().begin();        
        Object u=null;
        try {            
             u = em.createQuery("SELECT e FROM Seleccion e").getSingleResult();    
          if (u==null) {
                 return null;
          }   
             return (Seleccion) u;
        } catch (Exception e) {
            e.printStackTrace();
            em.getTransaction().rollback();
        } finally {
            em.close();
        }
        return null;
    }

    public AreaIndic capturarLogin(String nombre) {
        EntityManager em = emf.createEntityManager();
        em.getTransaction().begin();        
        Object u=null;
        try {            
             u = em.createQuery("SELECT e FROM AreaIndic e where e.areNombre =:nombre").setParameter("nombre",nombre).getSingleResult();    
          if (u==null) {
                 return null;
          }   
             return (AreaIndic) u;
        } catch (Exception e) {
            e.printStackTrace();
            em.getTransaction().rollback();
        } finally {
            em.close();
        }
        return null;
    }
    
    public Usuario capturarUsuario(String nombre) {
        EntityManager em = emf.createEntityManager();
        em.getTransaction().begin();        
        Object u=null;
        try {            
             u = em.createQuery("SELECT e FROM Usuario e where e.usrNombre =:nombre").setParameter("nombre",nombre).getSingleResult();    
          if (u==null) {
                 return null;
          }   
             return (Usuario) u;
        } catch (Exception e) {
            e.printStackTrace();
            em.getTransaction().rollback();
        } finally {
            em.close();
        }
        return null;
    }

    public Diagnostico capturarDiagnostico(String nombre) {
        EntityManager em = emf.createEntityManager();
        em.getTransaction().begin();        
        Object u=null;
        try {            
             u = em.createQuery("SELECT e FROM Diagnostico e where e.dgnMedicina =:nombre").setParameter("nombre",nombre).getSingleResult();    
          if (u==null) {
                 return null;
          }   
             return (Diagnostico) u;
        } catch (Exception e) {
            e.printStackTrace();
            em.getTransaction().rollback();
        } finally {
            em.close();
        }
        return null;
    }
    
     public TiploEmpleado capturarTiploEmpleado(String nombre) {
        EntityManager em = emf.createEntityManager();
        em.getTransaction().begin();        
        Object u=null;
        try {            
             u = em.createQuery("SELECT e FROM TiploEmpleado e where e.temNombre =:nombre").setParameter("nombre",nombre).getSingleResult();    
          if (u==null) {
                 return null;
          }   
             return (TiploEmpleado) u;
        } catch (Exception e) {
            e.printStackTrace();
            em.getTransaction().rollback();
        } finally {
            em.close();
        }
        return null;
    }
     
     
     public Empleado capturarEmpleado(Integer nombre) {
        EntityManager em = emf.createEntityManager();
        em.getTransaction().begin();        
        Object u=null;
        try {            
             u = em.createQuery("SELECT e FROM Empleado e where e.empCodigo =:nombre").setParameter("nombre",nombre).getSingleResult();    
          if (u==null) {
                 return null;
          }   
             return (Empleado) u;
        } catch (Exception e) {
            e.printStackTrace();
            em.getTransaction().rollback();
        } finally {
            em.close();
        }
        return null;
    }
    
     public Paciente capturarPaciente(String nombre) {
        EntityManager em = emf.createEntityManager();
        em.getTransaction().begin();        
        Object u=null;
        try {            
             u = em.createQuery("SELECT e FROM Paciente e where e.pacNombre =:nombre").setParameter("nombre",nombre).getSingleResult();    
          if (u==null) {
                 return null;
          }   
             return (Paciente) u;
        } catch (Exception e) {
            e.printStackTrace();
            em.getTransaction().rollback();
        } finally {
            em.close();
        }
        return null;
    }
     
     public TipoPrograma capturarTipoPrograma(String nombre) {
        EntityManager em = emf.createEntityManager();
        em.getTransaction().begin();        
        Object u=null;
        try {            
             u = em.createQuery("SELECT e FROM TipoPrograma e where e.prgNombre =:nombre").setParameter("nombre",nombre).getSingleResult();    
          if (u==null) {
                 return null;
          }   
             return (TipoPrograma) u;
        } catch (Exception e) {
            e.printStackTrace();
            em.getTransaction().rollback();
        } finally {
            em.close();
        }
        return null;
    }

     public Especialidad capturarEspecialidad(String nombre) {
        EntityManager em = emf.createEntityManager();
        em.getTransaction().begin();        
        Object u=null;
        try {            
             u = em.createQuery("SELECT e FROM Especialidad e where e.espNombre =:nombre").setParameter("nombre",nombre).getSingleResult();    
          if (u==null) {
                 return null;
          }   
             return (Especialidad) u;
        } catch (Exception e) {
            e.printStackTrace();
            em.getTransaction().rollback();
        } finally {
            em.close();
        }
        return null;
    }

       public Especialidad capturarProEspecialidad(Integer nombre) {
        EntityManager em = emf.createEntityManager();
        em.getTransaction().begin();        
        Object u=null;
        try {            
             u = em.createQuery("SELECT e FROM Especialidad e where e.espCod =:nombre").setParameter("nombre",nombre).getSingleResult();    
          if (u==null) {
                 return null;
          }   
             return (Especialidad) u;
        } catch (Exception e) {
            e.printStackTrace();
            em.getTransaction().rollback();
        } finally {
            em.close();
        }
        return null;
    }
     public ProEspe capturarProEspe(Especialidad nombre) {
        EntityManager em = emf.createEntityManager();
        em.getTransaction().begin();        
        Object u=null;
        try {            
             u = em.createQuery("SELECT e FROM ProEspe e where e.espCod =:nombre").setParameter("nombre",nombre).getSingleResult();    
          if (u==null) {
                 return null;
          }   
             return (ProEspe) u;
        } catch (Exception e) {
            e.printStackTrace();
            em.getTransaction().rollback();
        } finally {
            em.close();
        }
        return null;
    }

     public ProEspe capturarProfeEspecialidad(Integer nombre) {
        EntityManager em = emf.createEntityManager();
        em.getTransaction().begin();        
        Object u=null;
        try {            
             u = em.createQuery("SELECT e FROM ProEspe e where e.preCod =:nombre").setParameter("nombre",nombre).getSingleResult();    
          if (u==null) {
                 return null;
          }   
             return (ProEspe) u;
        } catch (Exception e) {
            e.printStackTrace();
            em.getTransaction().rollback();
        } finally {
            em.close();
        }
        return null;
    }
     
     public Profesional capturarProfesional(String nombre) {
        EntityManager em = emf.createEntityManager();
        em.getTransaction().begin();        
        Object u=null;
        try {            
             u = em.createQuery("SELECT e FROM Profesional e where e.proPrimerNombre =:nombre").setParameter("nombre",nombre).getSingleResult();    
          if (u==null) {
                 return null;
          }   
             return (Profesional) u;
        } catch (Exception e) {
            e.printStackTrace();
            em.getTransaction().rollback();
        } finally {
            em.close();
        }
        return null;
    }

     
     public Profesional capturarProfesionalTr(String nombre) {
        EntityManager em = emf.createEntityManager();
        em.getTransaction().begin();        
        Object u=null;
        try {            
             u = em.createQuery("SELECT DISTINCT e FROM Profesional e where e.proCodigo =:nombre").setParameter("nombre",nombre).getSingleResult();    
          if (u==null) {
                 return null;
          }   
             return (Profesional) u;
        } catch (Exception e) {
            e.printStackTrace();
            em.getTransaction().rollback();
        } finally {
            em.close();
        }
        return null;
    }

      public Profesional capturarProfe(String nombre) {
        EntityManager em = emf.createEntityManager();
        em.getTransaction().begin();        
        Object u=null;
        try {            
             u = em.createQuery("SELECT e FROM Profesional e where e.proCedula =:nombre").setParameter("nombre",nombre).getSingleResult();    
          if (u==null) {
                 return null;
          }   
             return (Profesional) u;
        } catch (Exception e) {
            e.printStackTrace();
            em.getTransaction().rollback();
        } finally {
            em.close();
        }
        return null;
    }

     
   public Presupuesto capturarPresupuesto(String nombre) {
        EntityManager em = emf.createEntityManager();
        em.getTransaction().begin();        
        Object u=null;
        try {            
             u = em.createQuery("SELECT e FROM Presupuesto e where e.preObservacion =:nombre").setParameter("nombre",nombre).getSingleResult();    
          if (u==null) {
                 return null;
          }   
             return (Presupuesto) u;
        } catch (Exception e) {
            e.printStackTrace();
            em.getTransaction().rollback();
        } finally {
            em.close();
        }
        return null;
    }

   public Documento capturarDocumento(Integer nombre) {
        EntityManager em = emf.createEntityManager();
        em.getTransaction().begin();        
        Object u=null;
        try {            
             u = em.createQuery("SELECT e FROM Documento e where e.docTotNinos=:nombre").setParameter("nombre",nombre).getSingleResult();    
          if (u==null) {
                 return null;
          }   
             return (Documento) u;
        } catch (Exception e) {
            e.printStackTrace();
            em.getTransaction().rollback();
        } finally {
            em.close();
        }
        return null;
    }
   
   public Documento capturarDocPresupuesto(Integer nombre) {
        EntityManager em = emf.createEntityManager();
        em.getTransaction().begin();        
        Object u=null;
        try {            
             u = em.createQuery("SELECT e FROM Documento e where e.docCod=:nombre").setParameter("nombre",nombre).getSingleResult();    
          if (u==null) {
                 return null;
          }   
             return (Documento) u;
        } catch (Exception e) {
            e.printStackTrace();
            em.getTransaction().rollback();
        } finally {
            em.close();
        }
        return null;
    }
   
   
   public ProEspe capturarProEspe(Integer nombre) {
        EntityManager em = emf.createEntityManager();
        em.getTransaction().begin();        
        Object u=null;
        try {            
             u = em.createQuery("SELECT e FROM ProEspe e where e.espCod=:nombre").setParameter("nombre",nombre).getSingleResult();    
          if (u==null) {
                 return null;
          }   
             return (ProEspe) u;
        } catch (Exception e) {
            e.printStackTrace();
            em.getTransaction().rollback();
        } finally {
            em.close();
        }
        return null;
    }
   
    public Presupuesto capturarPresupDoc(Integer nombre) {
        EntityManager em = emf.createEntityManager();
        em.getTransaction().begin();        
        Object u=null;
        try {            
             u = em.createQuery("SELECT e FROM Presupuesto e where e.preCod=:nombre").setParameter("nombre",nombre).getSingleResult();    
          if (u==null) {
                 return null;
          }   
             return (Presupuesto) u;
        } catch (Exception e) {
            e.printStackTrace();
            em.getTransaction().rollback();
        } finally {
            em.close();
        }
        return null;
    }

    
    public Presupuesto capturarDocPresupuesta(Documento nombre) {
        EntityManager em = emf.createEntityManager();
        em.getTransaction().begin();        
        Object u=null;
        try {            
             u = em.createQuery("SELECT e FROM Presupuesto e where e.docCod=:nombre").setParameter("nombre",nombre).getSingleResult();    
          if (u==null) {
                 return null;
          }   
             return (Presupuesto) u;
        } catch (Exception e) {
            e.printStackTrace();
            em.getTransaction().rollback();
        } finally {
            em.close();
        }
        return null;
    }
    
    public Presupuesto capturarPAR(Integer nombre) {
        EntityManager em = emf.createEntityManager();
        em.getTransaction().begin();        
        Object u=null;
        try {            
             u = em.createQuery("SELECT e FROM Presupuesto e where e.preCod=:nombre").setParameter("nombre",nombre).getSingleResult();    
          if (u==null) {
                 return null;
          }   
             return (Presupuesto) u;
        } catch (Exception e) {
            e.printStackTrace();
            em.getTransaction().rollback();
        } finally {
            em.close();
        }
        return null;
    }
    
   public Financiador capturarFinanciador(String nombre) {
        EntityManager em = emf.createEntityManager();
        em.getTransaction().begin();        
        Object u=null;
        try {            
             u = em.createQuery("SELECT e FROM Financiador e where e.finNombre =:nombre").setParameter("nombre",nombre).getSingleResult();    
          if (u==null) {
                 return null;
          }   
             return (Financiador) u;
        } catch (Exception e) {
            e.printStackTrace();
            em.getTransaction().rollback();
        } finally {
            em.close();
        }
        return null;
    }

   public TipoFinanciador capturarTipoFinanciador(String nombre) {
        EntityManager em = emf.createEntityManager();
        em.getTransaction().begin();        
        Object u=null;
        try {            
             u = em.createQuery("SELECT e FROM TipoFinanciador e where e.tipDescri =:nombre").setParameter("nombre",nombre).getSingleResult();    
          if (u==null) {
                 return null;
          }   
             return (TipoFinanciador) u;
        } catch (Exception e) {
            e.printStackTrace();
            em.getTransaction().rollback();
        } finally {
            em.close();
        }
        return null;
    }

   public Horario capturarHorario(String nombre) {
        EntityManager em = emf.createEntityManager();
        em.getTransaction().begin();        
        Object u=null;
        try {            
             u = em.createQuery("SELECT e FROM Horario e where e.horFecha =:nombre").setParameter("nombre",nombre).getSingleResult();    
          if (u==null) {
                 return null;
          }   
             return (Horario) u;
        } catch (Exception e) {
            e.printStackTrace();
            em.getTransaction().rollback();
        } finally {
            em.close();
        }
        return null;
    }
   
     public Horario capturarHorarioTurno(Integer nombre) {
        EntityManager em = emf.createEntityManager();
        em.getTransaction().begin();        
        Object u=null;
        try {            
             u = em.createQuery("SELECT e FROM Horario e where e.horId =:nombre").setParameter("nombre",nombre).getSingleResult();    
          if (u==null) {
                 return null;
          }   
             return (Horario) u;
        } catch (Exception e) {
            e.printStackTrace();
            em.getTransaction().rollback();
        } finally {
            em.close();
        }
        return null;
    }
    
        public Horariotarde capturarHorarioTurnoTarde(Integer nombre) {
        EntityManager em = emf.createEntityManager();
        em.getTransaction().begin();        
        Object u=null;
        try {            
             u = em.createQuery("SELECT e FROM Horariotarde e where e.hormId =:nombre").setParameter("nombre",nombre).getSingleResult();    
          if (u==null) {
                 return null;
          }   
             return (Horariotarde) u;
        } catch (Exception e) {
            e.printStackTrace();
            em.getTransaction().rollback();
        } finally {
            em.close();
        }
        return null;
    }

 public TipoPartida capturarTipoPartida(String nombre) {
        EntityManager em = emf.createEntityManager();
        em.getTransaction().begin();        
        Object u=null;
        try {            
             u = em.createQuery("SELECT e FROM TipoPartida e where e.tpaNombre =:nombre").setParameter("nombre",nombre).getSingleResult();    
          if (u==null) {
                 return null;
          }   
             return (TipoPartida) u;
        } catch (Exception e) {
            e.printStackTrace();
            em.getTransaction().rollback();
        } finally {
            em.close();
        }
        return null;
    }
    
 public Partida capturarPartida(String nombre) {
        EntityManager em = emf.createEntityManager();
        em.getTransaction().begin();        
        Object u=null;
        try {            
             u = em.createQuery("SELECT e FROM Partida e where e.parNombre =:nombre").setParameter("nombre",nombre).getSingleResult();    
          if (u==null) {
                 return null;
          }   
             return (Partida) u;
        } catch (Exception e) {
            e.printStackTrace();
            em.getTransaction().rollback();
        } finally {
            em.close();
        }
        return null;
    }

 public Partida capturarPresuPartida(Integer nombre) {
        EntityManager em = emf.createEntityManager();
        em.getTransaction().begin();        
        Object u=null;
        try {            
             u = em.createQuery("SELECT e FROM Partida e where e.preCod =:nombre").setParameter("nombre",nombre).getSingleResult();    
          if (u==null) {
                 return null;
          }   
             return (Partida) u;
        } catch (Exception e) {
            e.printStackTrace();
            em.getTransaction().rollback();
        } finally {
            em.close();
        }
        return null;
    }

 public Presupuesto capturarPresuDoc(Integer nombre) {
        EntityManager em = emf.createEntityManager();
        em.getTransaction().begin();        
        Object u=null;
        try {            
             u = em.createQuery("SELECT e FROM Presupuesto e where e.preCod =:nombre").setParameter("nombre",nombre).getSingleResult();    
          if (u==null) {
                 return null;
          }   
             return (Presupuesto) u;
        } catch (Exception e) {
            e.printStackTrace();
            em.getTransaction().rollback();
        } finally {
            em.close();
        }
        return null;
    }

 public Documento capturarDocumentoVa(Integer nombre) {
        EntityManager em = emf.createEntityManager();
        em.getTransaction().begin();        
        Object u=null;
        try {            
             u = em.createQuery("SELECT e FROM Presupuesto e where e.preCod =:nombre").setParameter("nombre",nombre).getSingleResult();    
          if (u==null) {
                 return null;
          }   
             return (Documento) u;
        } catch (Exception e) {
            e.printStackTrace();
            em.getTransaction().rollback();
        } finally {
            em.close();
        }
        return null;
    }
 
 public TipoPoblacion capturarTipoPoblacion(String nombre) {
        EntityManager em = emf.createEntityManager();
        em.getTransaction().begin();        
        Object u=null;
        try {            
             u = em.createQuery("SELECT e FROM TipoPoblacion e where e.tpbNombre =:nombre").setParameter("nombre",nombre).getSingleResult();    
          if (u==null) {
                 return null;
          }   
             return (TipoPoblacion) u;
        } catch (Exception e) {
            e.printStackTrace();
            em.getTransaction().rollback();
        } finally {
            em.close();
        }
        return null;
    }

 public DatospoblaPregunta capturarDatospoblaPregunta(String nombre) {
        EntityManager em = emf.createEntityManager();
        em.getTransaction().begin();        
        Object u=null;
        try {            
             u = em.createQuery("SELECT e FROM DatospoblaPregunta e where e.dpbNombre =:nombre").setParameter("nombre",nombre).getSingleResult();    
          if (u==null) {
                 return null;
          }   
             return (DatospoblaPregunta) u;
        } catch (Exception e) {
            e.printStackTrace();
            em.getTransaction().rollback();
        } finally {
            em.close();
        }
        return null;
    }

    public void persist(Object object) {
        EntityManager em = emf.createEntityManager();
        em.getTransaction().begin();
        try {
            // TODO:
            // em.persist(object);    em.getTransaction().commit();
        } catch (Exception e) {
            e.printStackTrace();
            em.getTransaction().rollback();
        } finally {
            em.close();
        }
    }    
}
